<?php

namespace App\Http\Controllers\Client\Course;

use App\Http\Controllers\ClientController;
use Illuminate\Support\Facades\DB;
use Illuminate\Support\Facades\Log;

class CourseLoadVipController extends ClientController
{
    /**
     * （购买vip）查询vip等级和vip信息
     */
    public function index()
    {
        $vip_id = 0;
        $we_id = $this->we_id;

        try {
            // 查询历史订单
            $vip_history = DB::table('laifei_vip')
                ->where('we_id', '=', $we_id)
                ->orderByDesc('vip_id')
                ->get();


            // 查询是否有历史订单决定是否允许购买优惠价格
            $sale = $vip_history->count() ? false : true;

            // 如果有历史订单，不允许购买普通会员
            if ($sale) {
                $vip_data = DB::table('laifei_sys_vip')->where('is_delete','=',0)->get()->toArray();
            } else { // 如果没有历史订单，可以购买所有会员类型
                $vip_data = DB::table('laifei_sys_vip')->where('is_delete','=',0)->where('vip_id', '=', 2)->get()->toArray();
            }

            // 查询当前的vip_id
            $current_vip = $vip_history->where('end_time', '>', date('Y-m-d H:i:s'))->first();
            $vip_id = $current_vip ? $current_vip->vip_id : 0;

            // 查询是否已经绑定过手机号
            $user_phone = DB::table('lottery_users')
                ->where('we_id', '=', $this->we_id)
                ->value('phone');
            $require_phone = $user_phone ? false : true;

            return $this->setReturnJson(0, 'success', [
                'vip_id' => $vip_id, // 当前的vip_id
                'vip_data' => $vip_data,  // 可购的vip信息
                'sale' => $sale, // 是否允许促销
                'require_phone' => $require_phone, // 是否需要填写手机号
            ]);
        } catch (\Exception $e) {
            Log::error(CourseLoadVipController::class, ['msg' => $e->getMessage(), 'file' => $e->getFile(), 'line' => $e->getLine()]);
            return $this->setReturnJson(-1, 'vip信息查询失败');
        }

    }
}
